package com.neusoft.db;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.neusoft.bean.Admins;
import com.neusoft.model.LoginValidate;



public class TestDriver {

	public static void main(String[] args) {
String sql = "select adminname,adminpsw from admins";
		
		List<Admins> adl = DBFactory.getDBProviderInstance().query(sql, new BeanListHandler<>(Admins.class));
		for (Admins admin : adl) {
			System.out.println(admin);
		}
	}

	private static void test01(){
		/*
		 * 使用dbutils的处理流程：
		 * 1、获取数据源对象（包含connection）
		 * 2、创建查询器对象queryrunner
		 * 3、准备sql语句以及参数集合数组
		 * 4、选择结果集的handler类型
		 * 5、执行query方法
		 */
		/*
		 * ArrayHandler 将ResultSet首行转为一个Object[]的ResultSetHandler实现类
		 * ArrayListHandler 将ResultSet转换为List<Object[]>的ResultSetHandler实现类
		 * BeanHandler 将ResultSet行转换为一个JavaBean的ResultSetHandler实现类
		 * BeanListHandler 将ResultSet转换为List<JavaBean>的ResultSetHandler实现类
		 * ColumnListHandler 将ResultSet的一个列转换为List<Object>的ResultSetHandler实现类
		 * KeyedHandler 将ResultSet转换为Map<Map>的ResultSetHandler实现类
		 * MapHandler 将ResultSet的首行转换为一个Map的ResultSetHandler实现类
		 * MapListHandler 将ResultSet转换为List<Map>的ResultSetHandler实现类
		 * ScalarHandler 将ResultSet的一个列到一个对象(获取查询结果的第一行第一类的值)。
		 */
		
//		try {
//			// * 1、获取数据源对象（包含connection）
//			// * 2、创建查询器对象queryrunner
//			QueryRunner qr = new QueryRunner(DBDataSource.getDataSourceInstance());
//			// 3、准备sql语句以及参数集合数组
//			String strSql = "select * from emp where deptno = 30";
//			// * 4、选择结果集的handler类型
//			// * 5、执行query方法
//			List<EmpBean> lsts = qr.query(strSql, new BeanListHandler<>(EmpBean.class));
//			// 遍历结果集
//			for (EmpBean empB : lsts) {
//				System.out.println(empB.toString());
//			}
//		} catch (SQLException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}

	}
}
